Multicasting is a service that permits sources to send a single copy of the same data to an address that causes the data to be delivered to multiple recipients. Under multicasting only one copy of a message will pass over any link in a network and copies of the message will be made only where paths diverge. From the network perspective, multicast dramatically reduces overall bandwidth consumption, since the data is replicated in the network at appropriate points rather than in the end-systems.
In case the multicast is used in Internet Protocol IP network then it is called IP multicast. With Internet Protocol IP multicast receivers do not need to know who or where the senders are to receive traffic from them and the senders never need to know who the receivers are. Neither senders nor receivers need to care about the network topology as the network optimises delivery. Alternative approach also exist where the receiver knows the sender, described in RFC 4607 “Source-Specific Multicast for IP”. The distribution of the information via the IP multicast is performed on the base of hierarchical connection of the hosts, like for example a tree. Several algorithms have been proposed for building multicast distribution trees, like for example spanning trees, shared-trees, source-based trees, and core-based trees. The descriptions of the corresponding algorithms can be found in “IP telephony: Packet-based multimedia communications systems” O. Hersent, D. Gurle, D. Petit, Addison-Wesley, Harlow, 2000. After the establishment of the distribution tree, the IP multicast routing protocols does the distribution of the information. The detailed description of the corresponding IP multicast routing protocols can also be found in the above mentioned document.
Multicast is a receiver-based concept, it means the receivers join a particular multicast session group by informing a corresponding multicast router and traffic is delivered to all members of that group by the network infrastructure. Therefore within the IP multicast the membership of a multicast session group is dynamic it means that the hosts may join and leave groups at any time. In order to allow hosts on networks to indicate whether they wish to join or leave a particular multicast group there is a protocol called the Internet Group Message Protocol IGMP. This protocol lets the system know which hosts currently belong to which multicast group. This information is required by the multicast routers which need to know which multicast datagrams are to be forwarded onto which interface.
The IGMP is a part of the IP layer and the IGMP messages are transmitted in IP data packets. The version 1 of IGMP is described in RFC 1112 “Host extensions for IP multicasting” S. E. Deering, Aug. 1, 1989, RFC 2236 “Internet Group Management Protocol, Version 2” W. Fenner, November 1997 describes the version 2. The IGMP has been developed for IP version 4. In Internet Protocol IP version 6 there is a similar protocol called Multicast Listener Discovery MLD, which is used for the same purpose as the IGMP. The description of the first version of MLD can be found in RFC 2710 “Multicast Listener Discovery (MLD) for IPv6” S. Deering, W. Fenner, B. Haberman, October 1999. However the messages used in MLD correspond to the IGMP messages. In the following the IGMP will be used as an example. Although this should not be restricted to the IGMP, the functionality of the invention is also given by usage of MLD.
In principle the IGMP uses two basic messages to fulfil its tasks, the membership report and the membership query message, and the following rules are applied. The different versions of IGMP contain additional messages.
A multicast router sends a membership query at regular intervals to see if any host still belongs to any group. The router must send one query out on each interface. The group address in the query is 0 since the router expects one response from a host for every group that contains one or more members on each host. It is also possible to send a membership query for one particular group rather than for all groups. A host responds to an IGMP query by sending one IGMP report for each group that still contains at least one user. A host joins a group also by sending the membership report.
Using the information received by applying the report and the query messages, a table with its interfaces having at least one host in a multicast group is established. After the receiving of the multicast data, the router forwards the data out on each interface, which has at least one member.
Multicasting in Public Land Mobile Networks PLMNs like General Packet Radio System GPRS or Universal Mobile Communication System UMTS requires some further development, for example regarding the mobility of the users and the characteristics of the air interface. Further the communication in a mobile communication networks like for example in UMTS is a unicast communication. The unicast communication is also called point-to-point communication. The point-to-point communication means sending a message from a single sender to a single receiver. In such kind of network, in particular in the core network it is not foreseen to perform a multicast communication. The group communication is implemented by means of a point-to-point communication having a sender transmitting separately packets to each member of the group. For a group with n members, n packets are required on the whole way between the sender and the receivers, instead of one packet when multicasting is used.
In the following an overview of the architecture of the General Packet Radio System GPRS network is given.
The GPRS is the packet-switched enhancement of the Global System for Mobile Communication GSM, which is a circuit switched network. GPRS has also been extended to cover the Universal Mobile Telecommunication System UMTS. With the GPRS packet-switched enhancement it means that the user can be permanently online connected but has to pay only for the real data transfer. In order to fulfil the new requirements some changes are introduced into the GSM, among other new logical nodes, the Serving GPRS Support Node (SGSN) and the Gateway GPRS Support Node (GGSN) are introduced. The main functions of the GGSN involve interaction with external IP packet networks providing for example connections to Internet Service Providers ISPs. From the external IP network's point of view, the GGSN acts as a router for the IP addresses of all subscribers served by the GPRS networks. The GGSN also exchanges routing information with the external network. Each GGSN serves a number of SGSNs, which can be arranged as a tree with the GGSN as a root of the tree. The SGSN serves all GPRS subscribers that are physically located within the geographical SGSN service area. It forwards incoming and outgoing IP packets addressed to or from a mobile station.
In order to distinguish between the functionality of these nodes in GSM and UMTS extended names are often used, 2G-SGSN, 3G-SGSN and 2G-GGSN, 3G-GGSN. In the following description it will not be distinguished between the GPRS and the UMTS nodes.
A detailed description of the architecture is to be found 3GPP TS 23.060 v7.2.0 (2006-09) 3 . . . rd Generation Partnership Project; Technical Specification Group Services and System Aspects, General Packet Radio Service (GPRS), Service Description, Stage 2 (Release).
With the introduction of the streaming and of the conversational multimedia services, many new point-to-multipoint services will evolve. Some examples of such services are Mobile TV, video-conferencing, whiteboarding, real-time multi-user games, multimedia messaging, virtual worlds. In particular the network operator will provide a big number of different multicast applications within the mobile network.
The MBMS service is designed for efficient delivery of multicast and broadcast services to groups of users in the GPRS packet-switched network. Through multicast and broadcast on the radio interface in a cell, multiple users can receive in an efficient way simultaneously the payload of e.g. a TV streaming service on the same radio channel which saves radio resources. The service is offered from a core-network control node, the BM-SC. The service is set up through control signalling in the network. For MBMS broadcast service a geographical distribution tree is built up based on “blind” broadcast to a number of cells that belong to the Service area, while the MBMS multicast service is dynamically built up by user joining the service and the distribution tree will consist of the nodes and cells populated by joining users. See FIG. 1. The distribution protocol in the core network is the GTP protocol; signalling and payload are handled by GTP-C and GTP-U respectively.
FIG. 1 describes the situation according to the known solutions. The communication network 1 comprise a BM-SC 2 that is used for broadcasting a multimedia service (the BM-SC in turn will get media content from a content server (not shown)), at least one GGSN 3, 7 that is used for distributing the data further down the communication chain, at least one SGSN 4, and at least one RNC 5. Mobile units (not shown) communicate with the RNC via a Node B (not shown). A GTP tunnel 6 is set up point-to-point from GGSN to each involved SGSN and from SGSN to each involved RNC.
The MBMS distribution tree using GTP point-to-point tunnels between GGSN and the SGSNs is not efficient. There is a problem with the distribution method in that the GGSN will have to duplicate the payload to many SGSNs (RNCs for OTS). Each MBMS payload packet incoming to the GGSN may have to be duplicated and distributed down to 10-20 or any large number of downstream SGSNs. This duplication of packets in the GGSN will be very resource demanding and can slow down the GGSN considerably. Many of these duplicated packets will also be sent on the same egress interface and connection, which is a very inefficient usage of network resources. A more efficient handling of packets in the GGSN is needed. Similarly each MBMS payload packet incoming to the SGSN may have to be duplicated and distributed down to 10-20 or any large number of downstream RNCs. This duplication of packets in the SGSN will be very resource demanding and can slow down the SGSN considerably. Many of these duplicated packets will also be sent on the same egress interface and connection, which is a very inefficient usage of network resources. A more efficient handling of packets in the SGSN is needed.
A first solution to use IP multicast for distribution of MBMS payload in the GPRS core network has been proposed in US Patent Applications 20050007969, 20040246984, 20060034278 (hereby included by reference). A problem with this solution is that it has large impacts on the existing GGSN, SGSN and RNC nodes as the GTP-U implementation is not reused. Another problem is that the proposed methods are not applicable on the MBMS Broadcast service. The proposed methods does also present difficulties to introduce in existing networks as no fallback mechanism from IP multicast distribution to legacy point-to-point distribution has been described. In an ongoing 3GPP study, “One Tunnel study” reported in TR 23.809, the possibility to bypass SGSN with the GTP-U tunnels is investigated. How this can be done for MBMS has still not been described, but is included in this invention.
The introduction of the multicast application on the user layer requires coordination on the transport layer, in particular between the nodes in respect to the multicast data delivery. In PLMNs with multiple GGSNs there is currently no coordination and synchronization mechanism for multicast groups between the GGSNs. Similarly there is no coordination or synchronization mechanism described for the TEIDs allocated by multiple GGSNs used for MBMS distribution using GTP-U and IP multicast.
It may thus happen that multiple GGSNs in a PLMN are dealing with the same multicast group, resulting in multiple multicast groups and multicast connections. Furthermore, if the multicast group info is distributed in the PLMN, the PLMN operator has no means to base any analysis on the group membership in the PLMN. It means the operator can not restrict additional members or base any charging decision on the total group membership in the PLMN.